class Math {
    @log(100) // 给方法添加日志输出功能 传递参数
    add(a,b) {
        return a + b;
    }
}

function log(num) {
    var _num = num || 0;
    return function(target,name,descriptor) {
        var oldValue = descriptor.value; //add方法
        // 重写
        descriptor.value = function(...arg){
            arg[0] += _num;
            arg[1] += _num;
            console.log(`调用${name}参数：`,arg);
            return oldValue.apply(target,arg)
        }
        return descriptor
    }
}

var math = new Math();
var res = math.add(1,2);
console.log(res);